package com.sport.entity;

import cn.hutool.core.annotation.Alias;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.sport.annotation.StoreAreaSerializer;
import com.sport.annotation.WorkTypeSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@Tag(name = "零售客户")
@TableName("customerinfo")
@EqualsAndHashCode(callSuper = false)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class RetailCustomer {
    @Alias("客户编码")
    @Schema(title = "客户编码", description = "")
    @TableId
    private String custId;

    @Alias("客户名称")
    @Schema(title = "客户名称", description = "")
    private String custName;

    @Alias("负责人姓名")
    @Schema(title = "负责人姓名", description = "")
    private String manager;

    @Alias("经营地址")
    @Schema(title = "经营地址", description = "")
    private String busiAddr;

    @Alias("分公司")
    @Schema(title = "分公司", description = "")
    private String saleCenterName;

    @Alias("负责人电话")
    @Schema(title = "负责人电话", description = "")
    private String managerTel;

    @Alias("客户经理")
    @Schema(title = "客户经理", description = "")
    private String slsmanName;

    @Alias("性别")
    @Schema(title = "性别，0代表男，1代表女", description = "")
    private Integer gender;

    @Alias("年龄")
    @Schema(title = "年龄", description = "")
    private String age;

    @Alias("客户档位")
    @Schema(title = "客户档位", description = "")
    private Integer custSeg;

    @Alias("业态类型")
    @Schema(title = "业态类型", description = "")
    private String baseType;

    @Alias("商圈类型")
    @Schema(title = "商圈类型", description = "")
    private String areaType;

    @Alias("市场类型")
    @Schema(title = "市场类型", description = "")
    @JsonSerialize(using = WorkTypeSerializer.class)
    private String workType;

    @Alias("店铺面积")
    @Schema(title = "店铺面积", description = "")
    @JsonSerialize(using = StoreAreaSerializer.class)
    private Integer storeArea;

    @Alias("时尚先锋")
    @Schema(title = "时尚先锋", description = "")
    private String fashionIcon;

    @Alias("社交达人")
    @Schema(title = "社交达人", description = "")
    private String socialPrefer;

    @Alias("颜值担当")
    @Schema(title = "颜值担当", description = "")
    private String imageStore;

    @Alias("品牌达人")
    @Schema(title = "品牌达人", description = "")
    private String brandExpert;

    @Alias("品牌宣讲")
    @Schema(title = "品牌宣讲", description = "")
    private String brandPreach;

    @Alias("社群活动")
    @Schema(title = "社群活动", description = "")
    private String communityAc;

    @Alias("终端类型")
    @Schema(title = "终端类型", description = "")
    private String rimType;

    @Alias("信用等级")
    @Schema(title = "信用等级", description = "")
    private String creditLevel;

    @Alias("数字门店")
    @Schema(title = "数字门店", description = "")
    private String isDigitalstore;


}
